package conson.tech.manage.coupons.entity.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * ClassName: CouponsBatch
 * Description: 优惠券信息主表
 * Author: ZYF
 * Date: 2020/07/20
 * Version: 1.0
 */
@Data
@TableName("coupons_batch")
public class CouponsBatch  {
    private static final long serialVersionUID = 4327659821954015806L;

    /**主键id*/
    private Long id;

    /**优惠券主体 0平台 1商家*/
    private Integer provider;

    /**发券方式(0定向发放 1非定向发放)*/
    private Integer providedType;

    /**优惠券批次名称*/
    private String batchName;

    /**优惠券使用类型(0 现金券 1满减券)*/
    private Integer batchType;

    /**优惠券金额*/
    private BigDecimal batchMoney;

    /**优惠券限额*/
    private BigDecimal limitMoney;

    /**优惠券类型id*/
    private Long batchTypeId;

    /**优惠券类型名称*/
    private String batchTypeName;

    /**优惠券折扣*/
    private BigDecimal batchDiscount;

    /**第三方id*/
    private Long otherId;

    /**是否支持线上使用（0 否 1是）*/
    private Integer onlineFlag;

    /**是否支持线下使用（0 否 1是）*/
    private Integer offlineFlag;

    /**前端显示标题*/
    private String showTitle;

    /**使用限制说明*/
    private String usedDes;

    /**有效期限制类型(0 绝对日期 1相对日期)*/
    private Integer timeLimit;

    /**有效期开始时间*/
    private LocalDateTime startTime;

    /**有效期结束时间*/
    private LocalDateTime endTime;

    /**相对有效期*/
    private Integer relativeTime;

    /**申请数量*/
    private Integer applicateNum;

    /**剩余数量*/
    private Integer stockNum;

    /**每人最大可领取数量*/
    private Integer limitNum;

    /**预警数量*/
    private Integer warningNum;

    /**是否到期预警（0 否 1是）*/
    private Integer expirationNotice;

    /**到期预警发短信flag(0 不发短信 1发短信)*/
    private Integer smsFlag;

    /**到期提醒短信内容*/
    private String smsDes;

    /**到期提醒是否发送appPush（0 不发生 1发送）*/
    private Integer pushFlag;

    /**状态（0初始、1待运营审核、2待财务审核、3审核通过、4审核驳回、5、已结束、6、已作废）*/
    private Integer state;

    /**删除标识 0 删除 1未删除*/
    private Integer deleteFlag;

    /**创建人id*/
    private Long createBy;

    /**创建时间*/
    private LocalDateTime createTime;

    /**修改时间*/
    private LocalDateTime updateTime;

    /**修改人id*/
    private Long updateBy;

    /**组织id*/
    private Long orgId;

    /**是否退还 0否  1是*/
    private Integer canRefuld;

    /**申请人*/
    private String applyName;

    /**使用范围类型 0-全平台，1-场景 2-商-商品品类 4-商品spuId*/
    private Integer rangeType;

    /**
     * 版本号
     */
    @TableField("version")
    @Version
    private Integer version;

}
